package session.stateless.SCM;

import entity.SCM.MaterialOrder;
import entity.SCM.MaterialRequest;
import javax.ejb.Local;

@Local
public interface MaterialOrderBeanLocal {

    public entity.SCM.MaterialLine createMaterialLine(java.lang.String rawMaterialName, java.lang.Long quantity);

   public entity.SCM.MaterialLine createDummyMLForOrder(java.lang.String rawMaterialType, java.lang.Long lotQuantity);

    public entity.RawMaterial getMaterial(java.lang.String name);

    public entity.SCM.MaterialLine createMaterialLineForOrderDirectly(entity.SCM.MaterialOrder materialOrderToEdit, java.lang.String rawMaterialType, java.lang.Long lotQuantity);

    public entity.SCM.MaterialLine createMaterialLineForOrder(entity.SCM.MaterialLine mlOld);

    public java.lang.Long createMaterialOrder(java.lang.String supplierName, java.util.List<entity.SCM.MaterialLine> mlList, java.lang.Long materialRequestId);

    public boolean updateMaterialOrder(java.lang.Long materialOrderId, java.lang.String supplierName, java.util.List<entity.SCM.MaterialLine> mls, java.util.List<entity.SCM.MaterialLine> mrMl);

//    public boolean deleteMaterialOrder(java.lang.Long materialOrderId);

    public boolean deleteMaterialLine(entity.SCM.MaterialOrder materialOrder, entity.SCM.MaterialLine materialLine);
//
//    public java.util.List<entity.SCM.MaterialOrder> getMaterialOrderForSupplier(java.lang.String supplierName);
//
    public java.util.List<entity.SCM.MaterialOrder> getMaterialOrderForRequest(java.lang.Long requestId);

    public boolean sendMaterialOrder(MaterialOrder mo);
     
    public boolean receiveMaterials(MaterialOrder mo) ;
    
    public boolean checkMaterialRequest(MaterialRequest mr);
     
    public java.util.List<entity.SCM.MaterialOrder> getAllMaterialOrder();

    public java.util.List<entity.RawMaterial> getMaterial();
}
